Expressing Design by Contract Principles using Aspects

نویسندگان

  • Ohad Barzilay
  • Amiram Yehudai
  • Yishai A. Feldman
چکیده

This thesis deals with two methodologies in software construction: Aspect Oriented Programming and Design by Contract. It was already claimed that the design by contract methodology is an aspect of the software system. As such, a contract can be expressed in AOP terminology, and hence could be enforced using an aspect oriented based tool. The work presented here describes the enforcement process, and divides it into the building blocks of design by contract. For each building block we present a constructive way to express its essence in AspectJ, an aspect oriented programming language . The devil lies in the details. There are several issues as precondition subcontracting, collecting old values and others that needed some research effort in both AOP and DbC fields. The research yielded a discussion about AspectJ semantics on the one hand and variants of design by contract on the other. On the AOP part this work investigates the semantics of call and execution pointcuts in AspectJ, and their interaction with inheritance. On the DbC part this work presents some variants and extensions to original design by contract introduced by Meyer, namely contract enforcement with respect to the client, class oriented contract (static assertions), enforcement of reflexive contracts and others.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

بررسی جنبه‌های حقوقی قرارداد مشارکت در تولید دارو

Collaboration in drug delivery is a project by which a pharmecutical product is delivered through the cooperation of two or more legal persons. In this cooperation, a party contributes to the project with know-how and formula of a medicine and the other party provides site, necessary fund and equepments. Success in such a project requires a legal agreement entitled collaboration contracts in dr...

متن کامل

Formal Specification of Business Components – a Design by Contract Perspective

In software developers’ world two aspects are common knowledge: software fails are expensive, so we need reliable software; software itself is expensive, so we want reusable software. Design by Contract, advocated by Bertrand Meyer, is known as one of the most comprehensive methods for ensuring reliability, while delivering reusable software components. A business component is a component that ...

متن کامل

مؤلفه‌های طراحی بومی محیط به‌منظور تأمین سلامت انسان بر مبنای طب سنتی و اسلامی

Adapted architecture to the environment in the past has brought calmness and comfort for people. Today, great dependence on technology has caused an incompatible human body in his living areas and failed to offer contextual tranquility. It seems old theoretical and practical wisdom has proposed special features for any areas as patterns through temperament experiments. The principles put forwa...

متن کامل

A Methodology for Writing Class Contracts

One of the principles of Design by Contract is that contracts for software components must be written in a declarative way, using a formal, mathematically founded notation. When we apply the Design by Contract methodology in a naive and straightforward way, we risk ending up with unwanted duplication. In this paper, we describe a methodology for writing class contracts that avoids specification...

متن کامل

Modelling and Experimental Testing of Asymmetric Information Problems in Lease and Hire Contracts (Based on Contract Theory)

This article aims to study lease and hiring contract in the Iranian-Islamic setting and analyze the asymmetric information problem in these contracts. For doing this, we study the characteristics of lease and hiring contracts in Iran (real world experimental characteristics that recognized in other studies), using library method, then we mathematically model different aspects of asymmetric info...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006